MProlog: An Extension of Prolog for Modal Logic Programming

نویسنده

  • Linh Anh Nguyen
چکیده

We introduce our implemented modal logic programming system MProlog. This system is written in Prolog as a module for Prolog. Codes, libraries, and most features of Prolog can be used in MProlog programs. The system contains a number of built-in SLD-resolution calculi for modal logics, including calculi for useful multimodal logics of belief. Modal logics can be used to reason about knowledge, belief, actions, etc. A number of authors have proposed modal extensions for logic programming; see [7] for a survey and [6, 1, 3, 4] for later works. There are two approaches for modal logic programming: the direct approach and the translational approach. The first approach directly uses modalities, while the second one translates modal logic programs to classical logic programs. Despite that the theory of modal logic programming has been studied in a considerable number of works, it has not received much attention in practice. But if we want to use modal logics for practical applications, then modal logic programming deserves for further investigations, especially in practical issues. In [3, 4], we proposed a general framework for developing semantics of modal logic programs and gave sound and complete SLD-resolution calculi for a number of modal logics, including calculi for useful multimodal logics of belief. Our framework uses a direct approach for handling modalities and does not require any special restriction on occurrences of modal operators (the used language is as expressive as the general modal Horn fragment). Starting from the purely logical formalism of [3, 4], we have built a real system called MProlog [5] for modal logic programming. The implemented system adds extra features to the logical formalism in order to increase usefulness of the language. It is written in Prolog as a module for Prolog and can run in SICStus Prolog and SWI-Prolog. Codes, libraries, and most features of Prolog can be used in MProlog programs in a pure way. This gives MProlog capabilities for real applications. MProlog has been designed to obtain high effectiveness and flexibility. For effectiveness, classical fragments are interpreted by Prolog itself and a number of options can be used for MProlog to restrict the search space. For flexibility, there are three kinds of predicates (classical, modal, and dum) and we can use and mix different calculi in an MProlog program. 1 i.e. classical predicates which are defined using modal formulae MProlog has a very different theoretical foundation than the implemented Molog system [2]. In MProlog, a labeling technique is used for existential modal operators instead of skolemization. We also provide and use new technicalities like normal forms of modalities or pre-orders between modal operators. MProlog also eliminates drawbacks of Molog (e.g., MProlog gives computed answers). Our system contains a number of built-in SLD-resolution calculi for modal logics, including calculi for multimodal logics intended for reasoning about multidegree belief, for use in distributed systems of belief, or for reasoning about epistemic states of agents in multi-agent systems. SLD-resolution calculi for MProlog are specified using our framework given in [3, 4] and written in Prolog. They contain rules (used as meta-clauses) for handling properties of the base modal logic, definitions of auxiliary predicates, and definitions for a number of required predicates (e.g., to specify the normal form of modalities). In MProlog, modalities are represented as lists, e.g., 2i3j q(x) is represented as [bel(I), pos(J)] : q(X), and 2xgod exists ← christian(x) is represented as [bel(X)] : god exists :christian(X). Notations of modal operators depend on how the base SLD-resolution calculus is defined. As another example, for MProlog-2 [4], which disallows existential modal operators in program clauses and goals, we represent 2i1 . . .2ik as [I1, . . . , Ik]. Syntactically, an MProlog program is a Prolog program. Each modal clause in an MProlog program is of one of the following forms: Context : (Head :Body). or Head :Body. where Context is a list representing a modality, Head is of the form E or M : E, E is a classical atom, and M is a list containing one modal operator. In summary, our MProlog system is a tool for experimenting with applications of modal logic programming to AI. It is also a tool for developing and experimenting with new SLD-resolution calculi for modal logic programming.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Modal Logic Programming System MProlog

We present the design of our implemented modal logic programming system MProlog. This system is written in Prolog as a module for Prolog. Codes, libraries, and most features of Prolog can be used in MProlog programs. The system contains a number of built-in SLDresolution calculi for modal logics, including calculi for useful multimodal logics of belief. It is a tool to experiment with applicati...

متن کامل

A Fixpoint Semantics and an SLD-Resolution Calculus for Modal Logic Programs

We propose a modal logic programming language called MProlog, which is as expressive as the general modal Horn fragment. We give a fixpoint semantics and an SLD-resolution calculus for MProlog in all of the basic serial modal logics KD , T , KDB , B , KD4, S4, KD5, KD45, and S5. For an MProlog program P and for L being one of the mentioned logics, we define an operator TL,P , which has the leas...

متن کامل

Modal logic programming revisited

We present optimizations for the modal logic programming system MProlog, including the standard form for resolution cycles, optimized sets of rules used as meta-clauses, optimizations for the version of MProlog without existential modal operators, as well as iterative deepening search and tabulation. Our SLD-resolution calculi for MProlog in a number of modal logics are still strongly complete ...

متن کامل

First-Order Modal Logic Theorem Proving and Standard PROLOG

Many attempts have been started to combine logic programming and modal logics. Most of them however, do not use classical PROLOG, but extend the PROLOG idea in order to cope with modal logic formulae directly. These approaches have the disadvantage that for each logic new logic programming systems are to be developed and the knowledge and experience gathered from PROLOG can hardly be utilized. ...

متن کامل

The Modal Logic Programming System MProlog: Theory, Design, and Implementation

We present a general framework for developing fixpoint semantics, the least model semantics, and SLD-resolution calculi for logic programs in normal multimodal logics whose frame restrictions consist of the conditions of seriality (i.e. ∀x ∃y Ri(x, y)) and some classical firstorder Horn formulas. Our approach is direct and no special restriction on occurrences of 2i and 3i is assumed. We prove ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004